<template>
  <div class="ChartComponent" :id="theId"></div>
</template>

<script>
import createTheBasicBar from '@/assets/energytab/BasicArea'
import createHighPieInfos from '@/assets/energytab/basicPie'
export default {
  name: "ChartComponent",
  data() {
    return {
      timeZone: "", //
      theId:""
    };
  },
  props: {
    ord: String
  },
  mounted() {
    // console.log(this.ord);
    this.theId = this.ord;
    this.timeZone = new Date().getTimezoneOffset();
    this.getOneEchartData();
  },
  components: {},
  computed: {},
  methods: {
    getOneEchartData() {
      this.$http({
        url: "./EasyEnergy/DashboardOneChartSearchCmd",
        method: "post",
        contentType: "application/text,charset=utf-8",
        data: JSON.stringify({
          requestCommand: "",
          responseCommand: "",
          timeZone: this.timeZone,
          item: {
            ord: this.ord
          }
        }),
        dataType: "json"
      }).then(res => {
        let msg = res.data;
        // console.log(msg);
        if ("chartType" in msg && "items" in msg) {
          let theId = this.ord;
          if (msg.chartType == "BasicPie") {
            // console.log(BasicPie)
            createHighPieInfos(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "RankBar") {
            createBasicBar(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "BasicColumn") {
            createThebasicColumn(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "BasicBar") {
            createTheBasicBar(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "RankColumn") {
            createColumn(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "ColumnYoYLine") {
            createColumnYoYLine(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "ColumnMoM") {
            ColumnMoM(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "ColumnYoYPercent") {
            columnYoYPercent(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "LineYoYPercent") {
            lineYoYPercent(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "SemiRingYTDSuitemCO2") {
            semiRingTotalByYears(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "ColumnTotalCO2ByYears") {
            createColumnAndLineChart(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "BasicLine") {
            createBasicLine(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "ColumnComparisonByYears") {
            ColumnComparisonByYears(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "ColumnLineYoY") {
            createColumnLineYoY(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "SemiCircleTargetVSRealMTD") {
            SemiCircleTargetVSRealMTD(
              msg,
              theId,
              msg.units,
              msg.chartName,
              theOrd,
              isInter
            ); // 实时刷新
          } else if (msg.chartType == "StackedColumn") {
            StackedColumn(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "StackedBar") {
            StackedBar(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "LineSampPointEachDay") {
            LineSampPointEachDay(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "EnergyDataPanel") {
            DataPanel(msg, theId, theOrd, isInter); // 今日耗电 实时刷新
          } else if (msg.chartType == "RealDataPanel") {
            DataRealPanel(msg, theId, theOrd, isInter); // 实时刷新
          } else if (msg.chartType == "AlarmTable") {
            createAlarmInfo(msg, theId, theOrd, isInter); // 实时刷新
          } else if (msg.chartType == "UnitOutput") {
            createUnitoutput(msg, theId, msg.units, msg.chartName);
          } else if (msg.chartType == "PercentageColumn") {
            createPercentageColumn(
              msg,
              theId,
              "%",
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "BasicArea") {
            createBasicArea(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "StackedArea") {
            createStackedArea(
              msg,
              theId,
              msg.units,
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "PercentageArea") {
            createPercentageArea(
              msg,
              theId,
              "%",
              msg.chartName,
              msg.requestCommand,
              msg.interval
            );
          } else if (msg.chartType == "AngularGauge") {
            CreatetheDial(msg, theId, msg.chartName, theOrd, isInter); // 实时刷新
          } else if (msg.chartType == "HistoryDataBasicLine") {
            CreatetheHistoryDataBasicLine(
              msg,
              theId,
              msg.units,
              msg.chartName,
              15
            );
          }
        }
      });
    }
  }
};
</script>
<style lang="scss" scoped>
.ChartComponent {
  width: 100%;
  height: 100%;
}
</style>